perm filename REIFY[W83,JMC] blob sn#701717 filedate 1983-02-27 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	reify[w83,jmc]		Reification - especially in the blocks world
C00005 ENDMK
CāŠ—;
reify[w83,jmc]		Reification - especially in the blocks world

Reification

	Consider the formulas

	s' = move(x,y,s)

and

	s' = result(move(x,y),s),

which have the same meaning.  The notation of the latter formula comes
from  reifying,  i.e. making a thing out of,  move(x,y).  The ontology
of the first formula includes only blocks and situations, whereas the
latter formula also includes events.

	If we have events in our ontology, i.e. we have variables
ranging over events and functions and predicates taking events
as arguments and (in the case of functions) giving events as values,
we can substitute such expressions as  move(x,y)  for an event
variable  e  in (say)  result(e,s).  This permits us to get facts
about moving as special cases of facts about events in general.

	There are two attitudes toward this.  The conservative attitude
refers to "bloating the ontology", while the liberal attitude refers
to "enriching the ontology".  In these notes, we will enrich the ontology
whenever it seems required in order to express something we couldn't
conveniently express without it.  This means that we will use  move(x,y),
exactly when we have more event-valued terms than just  move(x,y)  and
when we have something to say about events in general.